package com.asiainfo.eureka;

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
import org.springframework.boot.SpringApplication;

/**
 * 服务发现-eureka服务器。
 * 
 * <pre>
 * 启动方法：
 * 1. eclipse启动（可run as Java Application，也可以安装STS后run as Spring Boot App）
 * 2. startup.sh启动（resource中）
 * 3. mvn spring-boot:run启动（pom中需配置插件spring-boot-maven-plugin）
 * 
 * 启动后可访问eureka服务主页：http://ip:port 。 比如：http://localhost:8761 。默认不需要用户名密码。
 * 如果希望添加用户认证，则需要在pom中增加依赖：spring-boot-starter-security。
 * 增加认证后，默认用户名为user，密码为控制台日志打印出来的随机字符串；
 * 也可以通过security.user.name/password设置用户名和密码，详见{@link application.yml}。
 * 
 * 若主页系统状态显示：
 * EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS 
 * ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.
 * 表示eureka开启了自我保护模式。
 * 
 * eureka服务REST端点：
 * http://localhost:8761/eureka/apps
 * http://localhost:8761/eureka/apps/appID，如http://localhost:8761/eureka/apps/client-microservice
 * 默认为xml格式，周立说可设置application/json（但我没试）。
 * 以上使用GET方法，除了使用浏览器也可以使用curl或者postman，如果使用postman，注意输入用户名密码（TYPE选择Basic Auth），
 * 当然，也可以使用http://eureka:eureka@localhost:8761/eureka/apps/client-microservice这种形式。
 * 更多端点，还有post、put、delete等，可查看官网：
 * https://github.com/Netflix/eureka/wiki/Eureka-REST-operations
 * 
 * </pre>
 * 
 * @author Danni
 * @author John Carnell
 */
@SpringBootApplication
@EnableEurekaServer // 在spring服务中启用eureka服务器
public class EurekaServerApplication {
	public static void main(String[] args) {
		SpringApplication.run(EurekaServerApplication.class, args);
	}
}
